#ifndef STYLE_MANAGER_H
#define STYLE_MANAGER_H
#include <qstringlist.h>
#include "Def.h"

struct IStyleHelper
{
	virtual void setStyleName(const QString& name) = 0;
	virtual QString getStyleName()const = 0;
};

class StyleManager: public PrivateClassHolder<StyleManagerPrivate>
{
public:
	virtual QString createTextStyle(const QString& font,int size,const QString& color = "#ffffff") = 0;
	
	virtual void insertStyle(const QString& styleName,const QString& style) = 0;
	virtual QStringList getStyleNameList()const = 0;
	virtual QString getStyleByName(const QString& styleName)const = 0;

	virtual void setDefaultStyle(const QString& styleName) = 0;
	virtual QString getDefaultStyle()const = 0;

	virtual bool containStyle(const QString& styleName) = 0;
   
	virtual bool loadStyleFromJsonFile(const QString& jsonFile) = 0;
	virtual int loadStyleFromDirectory(const QString& directory) = 0;

	virtual void saveStyleToDirectory(const QString& directory) = 0;
};

#endif